Statistics

A Statistics behavior allows you to collect and report statistics generated by other behaviors in a component during a simulation.

Properties

Data collection can be cumulative or based on time, states and events. In order to report statistics a behavior needs to have a Statistics property or else you can use a Python Script to manually define data collection. By default, interval-based statistics are reported every 60 seconds in a running simulation.

Name Description
Name Defines the name of the Statistics behavior.
PartsEntered Indicates the number of components that have arrived at a container type behavior.
PartsExited Indicates the number of components that have departed a container type behavior.
PartsCurrent Indicates the current amount of components attached to a container type behavior.
PartsUtilization Indicates the percentage of components attached to a container type behavior divided by the container's capacity. For example, a Component Container may have the capacity to hold 100 components but has only contained 50 components, resulting in 50 percent utilization of storage space.
PartsAverageCount Indicates the average amount of components that have been attached to a container type behavior. For example, on average a sorting machine might have 10 components at any given time.
PartsMinCount Indicates the minimum number of components that have been attached to a container type behavior at one particular time. For example, a shuttle conveyor might have a minimum of one component at any given time.
PartsMaxCount Indicates the maximum number of components that have been attached to a container type behavior. For example, a robot gripper might have a maximum of three components at any given time.
PartsTotalTime Indicates the total amount of time each component spent attached to a container type behavior. For example, a machine processes 10 components for 5 seconds with a feed in/out rate of 2~3 seconds, so the sum total of each component's duration in the machine added together results in PartsTotalTime.
PartsAverageTime Indicates the average amount of time a component spent attached to a container type behavior.
PartsMinTime Indicates the minimum amount of time a component spent attached to a container type behavior.
PartsMaxTime The maximum amount of time a component spent attached to a container type behavior.
PartsIntervalEntered Same as PartsEntered but for a recorded interval.
PartsIntervalExited Same as PartsExited but for a recorded interval.
PartsIntervalCurrent Same as PartsCurrent but for a recorded interval.
PartsIntervalUtilization Same as PartsUtilization but for a recorded interval.
PartsIntervalAverageCount Same as PartsAverageCount but for a recorded interval.
PartsIntervalMinCount Same as PartsMinCount but for a recorded interval.
PartsIntervalMaxCount Same as PartsMaxCount but for a recorded interval.
PartsIntervalTotalTime Same as PartsTotalTime but for a recorded interval.
PartsIntervalAverageTime Same as PartsAverageTime but for a recorded interval.
PartsIntervalMinTime Same as PartsMinTime but for a recorded interval.
PartsIntervalMaxTime Same as PartsMaxTime but for a recorded interval.
Utilization Indicates the percentage a behavior was in a defined "setup" or "busy" state based on the elapsed time of a simulation.
TotalStateTime Indicates the total amount of time a behavior was in any of its defined states based on the elapsed time of a simulation.
BreakPercentage Indicates the percentage a behavior was in a defined "break" state based on the elapsed time of a simulation. Generally, a broken state should occur before a defined repair state.
IdlePercentage Indicates the percentage a behavior was in a defined "idle" state based on the elapsed time of a simulation.
BusyPercentage Indicates the percentage a behavior was in a defined "busy" state based on the elapsed time of a simulation.
BlockedPercentage Indicates the percentage a behavior was in a defined "blocked" state based on the elapsed time of a simulation. Generally, capacity issues trigger a blocked state in a behavior.
FailedPercentage Indicates the percentage a behavior was in a defined "failed" state based on the elapsed time of a simulation.
RepairPercentage Indicates the percentage a behavior was in a defined "repair" state based on the elapsed time of a simulation.
SetupPercentage Indicates the percentage a behavior was in a defined "setup" or "warm up" state based on the elapsed time of a simulation.
AverageActivePeriodTime Indicates the average amount of time a behavior was in one of its defined states during a simulation.
IntervalUtilization Same as Utilization but for a recorded interval.
IntervalTotalStateTime Same as TotalStateTime but for a recorded interval.
IntervalBreakPercentage Same as BreakPercentage but for a recorded interval.
IntervalIdlePercentage Same as IdlePercentage but for a recorded interval.
IntervalBusyPercentage Same as BusyPercentage but for a recorded interval.
IntervalBlockedPercentage Same as BlockedPercentage but for a recorded interval.
IntervalFailedPercentage Same as FailedPercentage but for a recorded interval.
IntervalRepairPercentage Same as RepairPercentage but for a recorded interval.
IntervalSetupPercentage Same as SetupPercentage but for a recorded interval.

States

A component can have one or more states, which are defined by a Statistics behavior. A state is the condition of a component during a simulation at a given time. This is why each state has two dynamic properties: State<StateName>Percentage and State<StateName>IntervalPercentage. A state is mapped to a system state, which is a hardcoded, predefined condition for a component.

The Create default states property of a Statistics behavior allows you to create the following eight states.

Name Description
Blocked Indicates a component is blocked, for example a capacity issue or parts are stuck in a process.
Break Indicates a break in a component, for example a break in a process.
Broken Indicates a failure in a component, for example something is broken and needs to be repaired.
Busy Indicates a component is busy, for example executing a process.
Idle Indicates a component is not busy, for example not waiting for a command or not executing a process.
Repair Indicates a component is being repaired, for example fixing a broken part.
Setup Indicates a component is being configured, for example a boot process or steps before executing a process.
Warmup Indicates warm up time in a component.

Notes:

  • You can rename a state, but it must always be mapped to a system state.